"""
Xml2GUI 包的主入口点
支持 python -m xml2gui build <xml_file> 用法
"""

import sys
import os
from pathlib import Path

# 添加父目录到路径，以便导入xml2gui_build
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..'))

def main():
    """
    模块主入口函数
    """
    if len(sys.argv) < 2:
        print("用法: python -m xml2gui build <xml_file> [options]")
        print("选项:")
        print("  --compile-exe, -exe    编译为可执行文件")
        print("  --output-dir, -o DIR   Python代码输出目录 (默认: dist)")
        print("  --exe-output-dir DIR   可执行文件输出目录 (默认: output)")
        print("  --icon FILE            可执行文件的图标文件")
        print("  --company NAME         公司名称")
        print("  --product NAME         产品名称")
        print("  --version VER          文件版本")
        return 1
    
    if sys.argv[1] != "build":
        print(f"错误: 未知命令 '{sys.argv[1]}'")
        print("可用命令: build")
        return 1
    
    # 导入构建模块
    try:
        from xml2gui_build import main as build_main
    except ImportError:
        print("错误: 无法导入构建模块")
        return 1
    
    # 修改sys.argv以匹配xml2gui_build的期望格式
    # 移除 'xml2gui' 参数，保留 'build' 作为第一个参数
    original_argv = sys.argv.copy()
    try:
        # 保持 build 作为第一个参数，这样xml2gui_build可以正确处理
        # 我们需要将参数重新组织为xml2gui_build期望的格式
        sys.argv = [original_argv[0]] + original_argv[2:]
        return build_main()
    finally:
        sys.argv = original_argv


if __name__ == "__main__":
    sys.exit(main())